import { http } from "@/common/service/service.js";

/**
 * MES任务管理API
 */
export const taskApi = {
  /**
   * 获取员工任务统计
   * @param {Object} params 查询参数
   * @param {string} params.employeeId 员工ID
   * @param {string} params.startDate 开始日期
   * @param {string} params.endDate 结束日期
   * @returns {Promise}
   */
  getTaskStatistics(params) {
    return http.get("/mes/task/statistics", params);
  },

  /**
   * 获取员工工作统计数据
   * @param {Object} params 查询参数
   * @param {string} params.employeeId 员工ID
   * @param {string} params.startDate 开始日期
   * @param {string} params.endDate 结束日期
   * @returns {Promise}
   */
  getEmployeeWorkStatistics(params) {
    return http.get(
      "/mes/task/employeeWorkStatistics?employeeId=" +
        params.employeeId +
        "&startDate=" +
        params.startDate +
        "&endDate=" +
        params.endDate
    );
  },

  /**
   * 获取员工任务列表
   * @param {Object} params 查询参数
   * @param {number} params.pageNo 页码
   * @param {number} params.pageSize 每页大小
   * @param {string} params.employeeId 员工ID
   * @param {string} params.status 任务状态
   * @returns {Promise}
   */
  getEmployeeTasks(params) {
    const requestParams = {
      pageNo: params.pageNo || 1,
      pageSize: params.pageSize || 10,
      employeeId: params.employeeId,
    };

    // 添加日期范围参数（如果提供）
    if (params.startDate) {
      requestParams.startDate = params.startDate;
    }
    if (params.endDate) {
      requestParams.endDate = params.endDate;
    }

    return http.get("/mes/task/list", requestParams);
  },

  /**
   * 获取任务详情
   * @param {string} taskId 任务ID
   * @returns {Promise}
   */
  getTaskDetail(taskId) {
    return http.get(`/mes/task/queryById?id=${taskId}`);
  },

  /**
   * 获取任务参与者信息
   * @param {Object} params 查询参数
   * @param {string} params.taskId 任务ID
   * @param {string} params.employeeId 员工ID
   * @returns {Promise}
   */
  getTaskParticipants(params) {
    return http.get("/mes/taskParticipant/list", params);
  },

  /**
   * 获取任务参与者信息
   * @param {Object} params 查询参数
   * @param {string} params.taskId 任务ID
   * @param {string} params.employeeId 员工ID
   * @returns {Promise}
   */
  listByEmpIdAndSubmitStatus(params) {
    return http.get("/mes/taskParticipant/listByEmpIdAndSubmitStatus", params);
  },
};

export default taskApi;
